<?xml version="1.0" encoding="ascii"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
          "DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
  <title>simvoc.core.condor_sim.Condor</title>
  <link rel="stylesheet" href="epydoc.css" type="text/css" />
  <script type="text/javascript" src="epydoc.js"></script>
</head>

<body bgcolor="white" text="black" link="blue" vlink="#204080"
      alink="#204080">
<!-- ==================== NAVIGATION BAR ==================== -->
<table class="navbar" border="0" width="100%" cellpadding="0"
       bgcolor="#a0c0ff" cellspacing="0">
  <tr valign="middle">
  <!-- Home link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="simvoc-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Tree link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Index link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Help link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Project homepage -->
      <th class="navbar" align="right" width="100%">
        <table border="0" cellpadding="0" cellspacing="0">
          <tr><th class="navbar" align="center"
            >SimVOC</th>
          </tr></table></th>
  </tr>
</table>
<table width="100%" cellpadding="0" cellspacing="0">
  <tr valign="top">
    <td width="100%">
      <span class="breadcrumbs">
        <a href="simvoc-module.html">Package&nbsp;simvoc</a> ::
        <a href="simvoc.core-module.html">Package&nbsp;core</a> ::
        <a href="simvoc.core.condor_sim-module.html">Module&nbsp;condor_sim</a> ::
        Class&nbsp;Condor
      </span>
    </td>
    <td>
      <table cellpadding="0" cellspacing="0">
        <!-- hide/show private -->
        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
      </table>
    </td>
  </tr>
</table>
<!-- ==================== CLASS DESCRIPTION ==================== -->
<h1 class="epydoc">Class Condor</h1><p class="nomargin-top"><span class="codelink"><a href="simvoc.core.condor_sim-pysrc.html#Condor">source&nbsp;code</a></span></p>
<center>
<center>  <map id="uml_class_diagram_for_simvoc_c_8" name="uml_class_diagram_for_simvoc_c_8">
<area shape="rect" id="node16" href="simvoc.core.condor_sim.Condor-class.html#__init__" title="x.__init__(...) initializes x; see x.__class__.__doc__ for signature" alt="" coords="17,377,307,396"/>
<area shape="rect" id="node16" href="simvoc.core.condor_sim.Condor-class.html#check_schedule" title="Determines if a scheduler event is needed and adds the event if necessary." alt="" coords="17,396,307,415"/>
<area shape="rect" id="node16" href="simvoc.core.condor_sim.Condor-class.html#pick_slot" title="Selects a free machine, if available, on which to run a job." alt="" coords="17,415,307,433"/>
<area shape="rect" id="node16" href="simvoc.core.condor_sim.Condor-class.html#schedule" title="Periodic scheduling method: iterates through the queue, attempting to match waiting jobs to free slots (using pick_slot())." alt="" coords="17,433,307,452"/>
<area shape="rect" id="node16" href="simvoc.core.condor_sim.Condor-class.html#submit_job" title="Receives a job into the scheduling queue and ensures that the periodic &#160;scheduler is running." alt="" coords="17,452,307,471"/>
<area shape="rect" id="node1" href="simvoc.core.condor_sim.Condor-class.html" title="Simulation of the Condor interval scheduler (negotiation process only)." alt="" coords="5,345,317,477"/>
<area shape="rect" id="node17" href="simvoc.core.scheduler.Scheduler-class.html#add_resource" title="Adds a resource to the resource broker map." alt="" coords="49,39,275,57"/>
<area shape="rect" id="node17" href="simvoc.core.scheduler.Scheduler-class.html#add_scheduler_event" title="Adds a scheduler event for a time not in the past." alt="" coords="49,57,275,76"/>
<area shape="rect" id="node17" href="simvoc.core.scheduler.Scheduler-class.html#add_submit_event" title="Schedules an event to submit a job at a time not in the past." alt="" coords="49,76,275,95"/>
<area shape="rect" id="node17" href="simvoc.core.scheduler.Scheduler-class.html#add_target" title="Adds a target machine to the scheduler pool." alt="" coords="49,95,275,113"/>
<area shape="rect" id="node17" href="simvoc.core.scheduler.Scheduler-class.html#add_targets" title="Adds a list of scheduling targets to the pool." alt="" coords="49,113,275,132"/>
<area shape="rect" id="node17" href="simvoc.core.scheduler.Scheduler-class.html#adjust_metric" title="Changes an aggregation metric field." alt="" coords="49,132,275,151"/>
<area shape="rect" id="node17" href="simvoc.core.scheduler.Scheduler-class.html#adjust_vo" title="Adjust the aggregation metrics for a single VO." alt="" coords="49,151,275,169"/>
<area shape="rect" id="node17" href="simvoc.core.scheduler.Scheduler-class.html#cancel_job" title="Cancels a job that has NOT YET STARTED." alt="" coords="49,169,275,188"/>
<area shape="rect" id="node17" href="simvoc.core.scheduler.Scheduler-class.html#claim_slot" title="Attempts to claim a free machine (CPU core) for the purpose of starting a &#160;job on that core." alt="" coords="49,188,275,207"/>
<area shape="rect" id="node17" href="simvoc.core.scheduler.Scheduler-class.html#debug" title="Writes debugging messages back to the simulator debugging interface." alt="" coords="49,207,275,225"/>
<area shape="rect" id="node17" href="simvoc.core.scheduler.Scheduler-class.html#enqueue_job" title="Adds a job to the scheduler queue." alt="" coords="49,225,275,244"/>
<area shape="rect" id="node17" href="simvoc.core.scheduler.Scheduler-class.html#event_pending" title="Returns: &#160;True iff a scheduling event is pending" alt="" coords="49,244,275,263"/>
<area shape="rect" id="node17" href="simvoc.core.scheduler.Scheduler-class.html#free_slot" title="Marks a machine (CPU core) as free and return it to the list of free &#160;scheduling targets." alt="" coords="49,263,275,281"/>
<area shape="rect" id="node17" href="simvoc.core.scheduler.Scheduler-class.html#submit_trigger" title="Method to be called by a simulator event whenever a job is scheduled for &#160;submission." alt="" coords="49,300,275,319"/>
<area shape="rect" id="node2" href="simvoc.core.scheduler.Scheduler-class.html" title="Generic job scheduler, which starts jobs instantly if nodes are available." alt="" coords="37,6,285,325"/>
</map>
  <img src="uml_class_diagram_for_simvoc_c_8.gif" alt='' usemap="#uml_class_diagram_for_simvoc_c_8" ismap="ismap" class="graph-without-title" />
</center>
</center>
<hr />
<p>Simulation of the Condor interval scheduler (negotiation process 
  only). Scheduling is performed only during negotiation intervals, 
  utilizing a periodic process. The scheduling discipline is not completely
  FIFO/FCFS, since the negotiation process must match job and machine 
  classAds. As a result, long delays are possible for some jobs, while 
  others are matched more quickly. Moreover, if a job is never matched to a
  machine, it will remain in the queue forever.</p>
  <p>In order to increase simulation speed by reducing the number of events
  that must be processed, this scheduler automatically suspends itself when
  no jobs are waiting in the queue. When new jobs are submitted, the 
  interval scheduler resumes scheduling as long as jobs are waiting, using 
  an offset algorithm to keep the actual scheduling runs consistent with 
  the interval setting.</p>

<!-- ==================== INSTANCE METHODS ==================== -->
<a name="section-InstanceMethods"></a>
<table class="summary" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
  <td colspan="2" class="table-header">
    <table border="0" cellpadding="0" cellspacing="0" width="100%">
      <tr valign="top">
        <td align="left"><span class="table-header">Instance Methods</span></td>
        <td align="right" valign="top"
         ><span class="options">[<a href="#section-InstanceMethods"
         class="privatelink" onclick="toggle_private();"
         >hide private</a>]</span></td>
      </tr>
    </table>
  </td>
</tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="simvoc.core.condor_sim.Condor-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">simobj</span>,
        <span class="summary-sig-arg">tag</span>=<span class="summary-sig-default"><code class="variable-quote">'</code><code class="variable-string"></code><code class="variable-quote">'</code></span>,
        <span class="summary-sig-arg">interval</span>=<span class="summary-sig-default">300</span>,
        <span class="summary-sig-arg">**kwds</span>)</span><br />
      x.__init__(...) initializes x; see x.__class__.__doc__ for signature</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="simvoc.core.condor_sim-pysrc.html#Condor.__init__">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">bool</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="simvoc.core.condor_sim.Condor-class.html#check_schedule" class="summary-sig-name">check_schedule</a>(<span class="summary-sig-arg">self</span>)</span><br />
      Determines if a scheduler event is needed and adds the event if 
      necessary.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="simvoc.core.condor_sim-pysrc.html#Condor.check_schedule">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="simvoc.core.condor_sim.Condor-class.html#pick_slot" class="summary-sig-name">pick_slot</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">job</span>)</span><br />
      Selects a free machine, if available, on which to run a job.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="simvoc.core.condor_sim-pysrc.html#Condor.pick_slot">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="simvoc.core.condor_sim.Condor-class.html#schedule" class="summary-sig-name">schedule</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">time</span>,
        <span class="summary-sig-arg">simobj</span>)</span><br />
      Periodic scheduling method: iterates through the queue, attempting to
      match waiting jobs to free slots (using pick_slot()).</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="simvoc.core.condor_sim-pysrc.html#Condor.schedule">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="simvoc.core.condor_sim.Condor-class.html#submit_job" class="summary-sig-name">submit_job</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">job</span>)</span><br />
      Receives a job into the scheduling queue and ensures that the 
      periodic scheduler is running.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="simvoc.core.condor_sim-pysrc.html#Condor.submit_job">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="simvoc.core.scheduler.Scheduler-class.html#add_resource" class="summary-sig-name">add_resource</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">service_name</span>,
        <span class="summary-sig-arg">obj</span>)</span><br />
      Adds a resource to the resource broker map.
      <em>(Inherited from <a href="simvoc.core.scheduler.Scheduler-class.html">simvoc.core.scheduler.Scheduler</a>)</em></td>
          <td align="right" valign="top">
            <span class="codelink"><a href="simvoc.core.scheduler-pysrc.html#Scheduler.add_resource">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="simvoc.core.scheduler.Scheduler-class.html#add_scheduler_event" class="summary-sig-name">add_scheduler_event</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">time</span>)</span><br />
      Adds a scheduler event for a time not in the past.
      <em>(Inherited from <a href="simvoc.core.scheduler.Scheduler-class.html">simvoc.core.scheduler.Scheduler</a>)</em></td>
          <td align="right" valign="top">
            <span class="codelink"><a href="simvoc.core.scheduler-pysrc.html#Scheduler.add_scheduler_event">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="simvoc.core.scheduler.Scheduler-class.html#add_submit_event" class="summary-sig-name">add_submit_event</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">time</span>,
        <span class="summary-sig-arg">job</span>)</span><br />
      Schedules an event to submit a job at a time not in the past.
      <em>(Inherited from <a href="simvoc.core.scheduler.Scheduler-class.html">simvoc.core.scheduler.Scheduler</a>)</em></td>
          <td align="right" valign="top">
            <span class="codelink"><a href="simvoc.core.scheduler-pysrc.html#Scheduler.add_submit_event">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="simvoc.core.scheduler.Scheduler-class.html#add_target" class="summary-sig-name">add_target</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">machine</span>)</span><br />
      Adds a target machine to the scheduler pool.
      <em>(Inherited from <a href="simvoc.core.scheduler.Scheduler-class.html">simvoc.core.scheduler.Scheduler</a>)</em></td>
          <td align="right" valign="top">
            <span class="codelink"><a href="simvoc.core.scheduler-pysrc.html#Scheduler.add_target">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="simvoc.core.scheduler.Scheduler-class.html#add_targets" class="summary-sig-name">add_targets</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">machine_list</span>)</span><br />
      Adds a list of scheduling targets to the pool.
      <em>(Inherited from <a href="simvoc.core.scheduler.Scheduler-class.html">simvoc.core.scheduler.Scheduler</a>)</em></td>
          <td align="right" valign="top">
            <span class="codelink"><a href="simvoc.core.scheduler-pysrc.html#Scheduler.add_targets">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="simvoc.core.scheduler.Scheduler-class.html#adjust_metric" class="summary-sig-name">adjust_metric</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">field</span>,
        <span class="summary-sig-arg">adj</span>)</span><br />
      Changes an aggregation metric field.
      <em>(Inherited from <a href="simvoc.core.scheduler.Scheduler-class.html">simvoc.core.scheduler.Scheduler</a>)</em></td>
          <td align="right" valign="top">
            <span class="codelink"><a href="simvoc.core.scheduler-pysrc.html#Scheduler.adjust_metric">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="simvoc.core.scheduler.Scheduler-class.html#adjust_vo" class="summary-sig-name">adjust_vo</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">vo</span>,
        <span class="summary-sig-arg">field</span>,
        <span class="summary-sig-arg">adj</span>)</span><br />
      Adjust the aggregation metrics for a single VO.
      <em>(Inherited from <a href="simvoc.core.scheduler.Scheduler-class.html">simvoc.core.scheduler.Scheduler</a>)</em></td>
          <td align="right" valign="top">
            <span class="codelink"><a href="simvoc.core.scheduler-pysrc.html#Scheduler.adjust_vo">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="simvoc.core.scheduler.Scheduler-class.html#cancel_job" class="summary-sig-name">cancel_job</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">job</span>)</span><br />
      Cancels a job that has NOT YET STARTED.
      <em>(Inherited from <a href="simvoc.core.scheduler.Scheduler-class.html">simvoc.core.scheduler.Scheduler</a>)</em></td>
          <td align="right" valign="top">
            <span class="codelink"><a href="simvoc.core.scheduler-pysrc.html#Scheduler.cancel_job">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">bool</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="simvoc.core.scheduler.Scheduler-class.html#claim_slot" class="summary-sig-name">claim_slot</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">machine</span>)</span><br />
      Attempts to claim a free machine (CPU core) for the purpose of 
      starting a job on that core.
      <em>(Inherited from <a href="simvoc.core.scheduler.Scheduler-class.html">simvoc.core.scheduler.Scheduler</a>)</em></td>
          <td align="right" valign="top">
            <span class="codelink"><a href="simvoc.core.scheduler-pysrc.html#Scheduler.claim_slot">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="simvoc.core.scheduler.Scheduler-class.html#debug" class="summary-sig-name">debug</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">message</span>)</span><br />
      Writes debugging messages back to the simulator debugging interface.
      <em>(Inherited from <a href="simvoc.core.scheduler.Scheduler-class.html">simvoc.core.scheduler.Scheduler</a>)</em></td>
          <td align="right" valign="top">
            <span class="codelink"><a href="simvoc.core.scheduler-pysrc.html#Scheduler.debug">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="simvoc.core.scheduler.Scheduler-class.html#enqueue_job" class="summary-sig-name">enqueue_job</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">job</span>)</span><br />
      Adds a job to the scheduler queue.
      <em>(Inherited from <a href="simvoc.core.scheduler.Scheduler-class.html">simvoc.core.scheduler.Scheduler</a>)</em></td>
          <td align="right" valign="top">
            <span class="codelink"><a href="simvoc.core.scheduler-pysrc.html#Scheduler.enqueue_job">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">bool</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="simvoc.core.scheduler.Scheduler-class.html#event_pending" class="summary-sig-name">event_pending</a>(<span class="summary-sig-arg">self</span>)</span><br />
      Returns:
      True iff a scheduling event is pending
      <em>(Inherited from <a href="simvoc.core.scheduler.Scheduler-class.html">simvoc.core.scheduler.Scheduler</a>)</em></td>
          <td align="right" valign="top">
            <span class="codelink"><a href="simvoc.core.scheduler-pysrc.html#Scheduler.event_pending">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="simvoc.core.scheduler.Scheduler-class.html#free_slot" class="summary-sig-name">free_slot</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">machine</span>)</span><br />
      Marks a machine (CPU core) as free and return it to the list of free 
      scheduling targets.
      <em>(Inherited from <a href="simvoc.core.scheduler.Scheduler-class.html">simvoc.core.scheduler.Scheduler</a>)</em></td>
          <td align="right" valign="top">
            <span class="codelink"><a href="simvoc.core.scheduler-pysrc.html#Scheduler.free_slot">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">int</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="simvoc.core.scheduler.Scheduler-class.html#get_completed_count" class="summary-sig-name">get_completed_count</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">vo</span>=<span class="summary-sig-default">None</span>)</span><br />
      Returns:
      number of jobs that have completed for a single VO or for the entire 
      scheduler.
      <em>(Inherited from <a href="simvoc.core.scheduler.Scheduler-class.html">simvoc.core.scheduler.Scheduler</a>)</em></td>
          <td align="right" valign="top">
            <span class="codelink"><a href="simvoc.core.scheduler-pysrc.html#Scheduler.get_completed_count">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="simvoc.core.scheduler.Scheduler-class.html#get_count" class="summary-sig-name">get_count</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">field</span>,
        <span class="summary-sig-arg">vo</span>=<span class="summary-sig-default">None</span>)</span><br />
      Returns the value of a metric for the scheduler aggregation or for a 
      single Virtual Organization.
      <em>(Inherited from <a href="simvoc.core.scheduler.Scheduler-class.html">simvoc.core.scheduler.Scheduler</a>)</em></td>
          <td align="right" valign="top">
            <span class="codelink"><a href="simvoc.core.scheduler-pysrc.html#Scheduler.get_count">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">int</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="simvoc.core.scheduler.Scheduler-class.html#get_cpu_count" class="summary-sig-name">get_cpu_count</a>(<span class="summary-sig-arg">self</span>)</span><br />
      Returns:
      total number of scheduler slots
      <em>(Inherited from <a href="simvoc.core.scheduler.Scheduler-class.html">simvoc.core.scheduler.Scheduler</a>)</em></td>
          <td align="right" valign="top">
            <span class="codelink"><a href="simvoc.core.scheduler-pysrc.html#Scheduler.get_cpu_count">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">int</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="simvoc.core.scheduler.Scheduler-class.html#get_error_count" class="summary-sig-name">get_error_count</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">vo</span>=<span class="summary-sig-default">None</span>)</span><br />
      Returns:
      number of job errors observed for a single VO or for the entire 
      scheduler.
      <em>(Inherited from <a href="simvoc.core.scheduler.Scheduler-class.html">simvoc.core.scheduler.Scheduler</a>)</em></td>
          <td align="right" valign="top">
            <span class="codelink"><a href="simvoc.core.scheduler-pysrc.html#Scheduler.get_error_count">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">int</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="simvoc.core.scheduler.Scheduler-class.html#get_free_count" class="summary-sig-name">get_free_count</a>(<span class="summary-sig-arg">self</span>)</span><br />
      Returns:
      total number of free scheduler slots
      <em>(Inherited from <a href="simvoc.core.scheduler.Scheduler-class.html">simvoc.core.scheduler.Scheduler</a>)</em></td>
          <td align="right" valign="top">
            <span class="codelink"><a href="simvoc.core.scheduler-pysrc.html#Scheduler.get_free_count">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="simvoc.core.scheduler.Scheduler-class.html#get_metric" class="summary-sig-name">get_metric</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">field</span>)</span><br />
      Returns the value of the metric for a given field.
      <em>(Inherited from <a href="simvoc.core.scheduler.Scheduler-class.html">simvoc.core.scheduler.Scheduler</a>)</em></td>
          <td align="right" valign="top">
            <span class="codelink"><a href="simvoc.core.scheduler-pysrc.html#Scheduler.get_metric">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="simvoc.core.scheduler.Scheduler-class.html#get_resource" class="summary-sig-name">get_resource</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">service_name</span>)</span><br />
      Returns:
      a reference to a resource object, if the resource is available from 
      the scheduler.
      <em>(Inherited from <a href="simvoc.core.scheduler.Scheduler-class.html">simvoc.core.scheduler.Scheduler</a>)</em></td>
          <td align="right" valign="top">
            <span class="codelink"><a href="simvoc.core.scheduler-pysrc.html#Scheduler.get_resource">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">int</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="simvoc.core.scheduler.Scheduler-class.html#get_running_count" class="summary-sig-name">get_running_count</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">vo</span>=<span class="summary-sig-default">None</span>)</span><br />
      Returns:
      number of jobs currently running for a single VO or for the entire 
      scheduler
      <em>(Inherited from <a href="simvoc.core.scheduler.Scheduler-class.html">simvoc.core.scheduler.Scheduler</a>)</em></td>
          <td align="right" valign="top">
            <span class="codelink"><a href="simvoc.core.scheduler-pysrc.html#Scheduler.get_running_count">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">int</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="simvoc.core.scheduler.Scheduler-class.html#get_total_queue_size" class="summary-sig-name">get_total_queue_size</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">vo</span>=<span class="summary-sig-default">None</span>)</span><br />
      Returns:
      total queue size (waiting+running) for a single VO or for the entire 
      scheduler.
      <em>(Inherited from <a href="simvoc.core.scheduler.Scheduler-class.html">simvoc.core.scheduler.Scheduler</a>)</em></td>
          <td align="right" valign="top">
            <span class="codelink"><a href="simvoc.core.scheduler-pysrc.html#Scheduler.get_total_queue_size">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type"><a href="simvoc.core.results.SchedResult-class.html" 
      class="link">results.SchedResult</a></span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a name="get_update"></a><span class="summary-sig-name">get_update</span>(<span class="summary-sig-arg">self</span>)</span><br />
      Obtains information about the current state of the scheduler.
      <em>(Inherited from <a href="simvoc.core.scheduler.Scheduler-class.html">simvoc.core.scheduler.Scheduler</a>)</em></td>
          <td align="right" valign="top">
            <span class="codelink"><a href="simvoc.core.scheduler-pysrc.html#Scheduler.get_update">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="simvoc.core.scheduler.Scheduler-class.html#get_vo" class="summary-sig-name">get_vo</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">vo</span>,
        <span class="summary-sig-arg">field</span>)</span><br />
      Returns an aggregation metric for a single VO.
      <em>(Inherited from <a href="simvoc.core.scheduler.Scheduler-class.html">simvoc.core.scheduler.Scheduler</a>)</em></td>
          <td align="right" valign="top">
            <span class="codelink"><a href="simvoc.core.scheduler-pysrc.html#Scheduler.get_vo">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">int</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="simvoc.core.scheduler.Scheduler-class.html#get_waiting_count" class="summary-sig-name">get_waiting_count</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">vo</span>=<span class="summary-sig-default">None</span>)</span><br />
      Returns:
      number of jobs waiting in the queue for a single VO or for the entire
      scheduler
      <em>(Inherited from <a href="simvoc.core.scheduler.Scheduler-class.html">simvoc.core.scheduler.Scheduler</a>)</em></td>
          <td align="right" valign="top">
            <span class="codelink"><a href="simvoc.core.scheduler-pysrc.html#Scheduler.get_waiting_count">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">bool</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="simvoc.core.scheduler.Scheduler-class.html#is_target" class="summary-sig-name">is_target</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">machine</span>)</span><br />
      Returns:
      True iff machine is part of the scheduler pool
      <em>(Inherited from <a href="simvoc.core.scheduler.Scheduler-class.html">simvoc.core.scheduler.Scheduler</a>)</em></td>
          <td align="right" valign="top">
            <span class="codelink"><a href="simvoc.core.scheduler-pysrc.html#Scheduler.is_target">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="simvoc.core.scheduler.Scheduler-class.html#job_done" class="summary-sig-name">job_done</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">machine</span>,
        <span class="summary-sig-arg">job</span>)</span><br />
      Callback method used by a Job to notify the scheduler that the job is
      finishing.
      <em>(Inherited from <a href="simvoc.core.scheduler.Scheduler-class.html">simvoc.core.scheduler.Scheduler</a>)</em></td>
          <td align="right" valign="top">
            <span class="codelink"><a href="simvoc.core.scheduler-pysrc.html#Scheduler.job_done">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">list</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="simvoc.core.scheduler.Scheduler-class.html#kill_all" class="summary-sig-name">kill_all</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">field_name</span>,
        <span class="summary-sig-arg">value</span>)</span><br />
      Kills all jobs for which the field name matches a specified value.
      <em>(Inherited from <a href="simvoc.core.scheduler.Scheduler-class.html">simvoc.core.scheduler.Scheduler</a>)</em></td>
          <td align="right" valign="top">
            <span class="codelink"><a href="simvoc.core.scheduler-pysrc.html#Scheduler.kill_all">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="simvoc.core.scheduler.Scheduler-class.html#kill_job" class="summary-sig-name">kill_job</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">job</span>)</span><br />
      Immediately kills a job, whether the job is running or not.
      <em>(Inherited from <a href="simvoc.core.scheduler.Scheduler-class.html">simvoc.core.scheduler.Scheduler</a>)</em></td>
          <td align="right" valign="top">
            <span class="codelink"><a href="simvoc.core.scheduler-pysrc.html#Scheduler.kill_job">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="simvoc.core.scheduler.Scheduler-class.html#mark_complete" class="summary-sig-name">mark_complete</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">machine</span>,
        <span class="summary-sig-arg">job</span>)</span><br />
      Marks a job as complete, adjusting the metrics and freeing the 
      associated slot.
      <em>(Inherited from <a href="simvoc.core.scheduler.Scheduler-class.html">simvoc.core.scheduler.Scheduler</a>)</em></td>
          <td align="right" valign="top">
            <span class="codelink"><a href="simvoc.core.scheduler-pysrc.html#Scheduler.mark_complete">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="simvoc.core.scheduler.Scheduler-class.html#remove_resource" class="summary-sig-name">remove_resource</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">service_name</span>)</span><br />
      Removes a resource from the resource broker map.
      <em>(Inherited from <a href="simvoc.core.scheduler.Scheduler-class.html">simvoc.core.scheduler.Scheduler</a>)</em></td>
          <td align="right" valign="top">
            <span class="codelink"><a href="simvoc.core.scheduler-pysrc.html#Scheduler.remove_resource">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="simvoc.core.scheduler.Scheduler-class.html#remove_target" class="summary-sig-name">remove_target</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">machine</span>)</span><br />
      Removes a target machine from the scheduler pool.
      <em>(Inherited from <a href="simvoc.core.scheduler.Scheduler-class.html">simvoc.core.scheduler.Scheduler</a>)</em></td>
          <td align="right" valign="top">
            <span class="codelink"><a href="simvoc.core.scheduler-pysrc.html#Scheduler.remove_target">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="simvoc.core.scheduler.Scheduler-class.html#remove_targets" class="summary-sig-name">remove_targets</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">machine_list</span>)</span><br />
      Removes a list of target machines from the scheduler pool.
      <em>(Inherited from <a href="simvoc.core.scheduler.Scheduler-class.html">simvoc.core.scheduler.Scheduler</a>)</em></td>
          <td align="right" valign="top">
            <span class="codelink"><a href="simvoc.core.scheduler-pysrc.html#Scheduler.remove_targets">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="simvoc.core.scheduler.Scheduler-class.html#set_metric" class="summary-sig-name">set_metric</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">field</span>,
        <span class="summary-sig-arg">qty</span>)</span><br />
      Sets the value of an aggregation metric.
      <em>(Inherited from <a href="simvoc.core.scheduler.Scheduler-class.html">simvoc.core.scheduler.Scheduler</a>)</em></td>
          <td align="right" valign="top">
            <span class="codelink"><a href="simvoc.core.scheduler-pysrc.html#Scheduler.set_metric">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="simvoc.core.scheduler.Scheduler-class.html#set_vo" class="summary-sig-name">set_vo</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">vo</span>,
        <span class="summary-sig-arg">field</span>,
        <span class="summary-sig-arg">qty</span>)</span><br />
      Sets the value of an aggregation metric for a specific VO.
      <em>(Inherited from <a href="simvoc.core.scheduler.Scheduler-class.html">simvoc.core.scheduler.Scheduler</a>)</em></td>
          <td align="right" valign="top">
            <span class="codelink"><a href="simvoc.core.scheduler-pysrc.html#Scheduler.set_vo">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="simvoc.core.scheduler.Scheduler-class.html#set_watchdog_callback" class="summary-sig-name">set_watchdog_callback</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">wdfn</span>)</span><br />
      Sets a callback function to be called whenever a job is added to the 
      scheduler queue.
      <em>(Inherited from <a href="simvoc.core.scheduler.Scheduler-class.html">simvoc.core.scheduler.Scheduler</a>)</em></td>
          <td align="right" valign="top">
            <span class="codelink"><a href="simvoc.core.scheduler-pysrc.html#Scheduler.set_watchdog_callback">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type"><a href="simvoc.core.results.JobStartResult-class.html" 
      class="link">results.JobStartResult</a></span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="simvoc.core.scheduler.Scheduler-class.html#start_job" class="summary-sig-name">start_job</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">job</span>,
        <span class="summary-sig-arg">machine</span>)</span><br />
      Starts a job on a machine.
      <em>(Inherited from <a href="simvoc.core.scheduler.Scheduler-class.html">simvoc.core.scheduler.Scheduler</a>)</em></td>
          <td align="right" valign="top">
            <span class="codelink"><a href="simvoc.core.scheduler-pysrc.html#Scheduler.start_job">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="simvoc.core.scheduler.Scheduler-class.html#submit_trigger" class="summary-sig-name">submit_trigger</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">job</span>)</span><br />
      Method to be called by a simulator event whenever a job is scheduled 
      for submission.
      <em>(Inherited from <a href="simvoc.core.scheduler.Scheduler-class.html">simvoc.core.scheduler.Scheduler</a>)</em></td>
          <td align="right" valign="top">
            <span class="codelink"><a href="simvoc.core.scheduler-pysrc.html#Scheduler.submit_trigger">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
  <tr>
    <td colspan="2" class="summary">
    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
      <code>__delattr__</code>,
      <code>__format__</code>,
      <code>__getattribute__</code>,
      <code>__hash__</code>,
      <code>__new__</code>,
      <code>__reduce__</code>,
      <code>__reduce_ex__</code>,
      <code>__repr__</code>,
      <code>__setattr__</code>,
      <code>__sizeof__</code>,
      <code>__str__</code>,
      <code>__subclasshook__</code>
      </p>
    </td>
  </tr>
</table>
<!-- ==================== PROPERTIES ==================== -->
<a name="section-Properties"></a>
<table class="summary" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
  <td colspan="2" class="table-header">
    <table border="0" cellpadding="0" cellspacing="0" width="100%">
      <tr valign="top">
        <td align="left"><span class="table-header">Properties</span></td>
        <td align="right" valign="top"
         ><span class="options">[<a href="#section-Properties"
         class="privatelink" onclick="toggle_private();"
         >hide private</a>]</span></td>
      </tr>
    </table>
  </td>
</tr>
  <tr>
    <td colspan="2" class="summary">
    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
      <code>__class__</code>
      </p>
    </td>
  </tr>
</table>
<!-- ==================== METHOD DETAILS ==================== -->
<a name="section-MethodDetails"></a>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
  <td colspan="2" class="table-header">
    <table border="0" cellpadding="0" cellspacing="0" width="100%">
      <tr valign="top">
        <td align="left"><span class="table-header">Method Details</span></td>
        <td align="right" valign="top"
         ><span class="options">[<a href="#section-MethodDetails"
         class="privatelink" onclick="toggle_private();"
         >hide private</a>]</span></td>
      </tr>
    </table>
  </td>
</tr>
</table>
<a name="__init__"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
        <span class="sig-arg">simobj</span>,
        <span class="sig-arg">tag</span>=<span class="sig-default"><code class="variable-quote">'</code><code class="variable-string"></code><code class="variable-quote">'</code></span>,
        <span class="sig-arg">interval</span>=<span class="sig-default">300</span>,
        <span class="sig-arg">**kwds</span>)</span>
    <br /><em class="fname">(Constructor)</em>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="simvoc.core.condor_sim-pysrc.html#Condor.__init__">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <p>x.__init__(...) initializes x; see x.__class__.__doc__ for 
  signature</p>
  <dl class="fields">
    <dt>Parameters:</dt>
    <dd><ul class="nomargin-top">
        <li><strong class="pname"><code>simobj</code></strong> - Reference to the simulator object</li>
        <li><strong class="pname"><code>tag</code></strong> (str) - Optional scheduler tag</li>
        <li><strong class="pname"><code>interval</code></strong> (number) - Scheduler interval</li>
        <li><strong class="pname"><code>kwds</code></strong> - Extra data to be passed to the Scheduler constructor</li>
    </ul></dd>
    <dt>Overrides:
        object.__init__
    </dt>
  </dl>
</td></tr></table>
</div>
<a name="check_schedule"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">check_schedule</span>(<span class="sig-arg">self</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="simvoc.core.condor_sim-pysrc.html#Condor.check_schedule">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <p>Determines if a scheduler event is needed and adds the event if 
  necessary.</p>
  <dl class="fields">
    <dt>Parameters:</dt>
    <dd><ul class="nomargin-top">
        <li><strong class="pname"><code>delay</code></strong> - Optional scheduling delay to add</li>
    </ul></dd>
    <dt>Returns: bool</dt>
        <dd>True iff a new scheduler event has been added</dd>
    <dt>Overrides:
        <a href="simvoc.core.scheduler.Scheduler-class.html#check_schedule">scheduler.Scheduler.check_schedule</a>
    </dt>
  </dl>
</td></tr></table>
</div>
<a name="pick_slot"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">pick_slot</span>(<span class="sig-arg">self</span>,
        <span class="sig-arg">job</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="simvoc.core.condor_sim-pysrc.html#Condor.pick_slot">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <p>Selects a free machine, if available, on which to run a job. Matching 
  of job and machine classAds is performed in this method.</p>
  <dl class="fields">
    <dt>Parameters:</dt>
    <dd><ul class="nomargin-top">
        <li><strong class="pname"><code>job</code></strong> - Job to be scheduled for execution</li>
    </ul></dd>
    <dt>Returns:</dt>
        <dd>a free machine which matches the job, or None if no machine is 
          free or if the classAds cannot be matched</dd>
    <dt>Overrides:
        <a href="simvoc.core.scheduler.Scheduler-class.html#pick_slot">scheduler.Scheduler.pick_slot</a>
    </dt>
  </dl>
</td></tr></table>
</div>
<a name="schedule"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">schedule</span>(<span class="sig-arg">self</span>,
        <span class="sig-arg">time</span>,
        <span class="sig-arg">simobj</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="simvoc.core.condor_sim-pysrc.html#Condor.schedule">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <p>Periodic scheduling method: iterates through the queue, attempting to 
  match waiting jobs to free slots (using pick_slot()). Starts jobs on 
  machines when matches are made.</p>
  <dl class="fields">
    <dt>Parameters:</dt>
    <dd><ul class="nomargin-top">
        <li><strong class="pname"><code>time</code></strong> (number) - Current simulated time</li>
        <li><strong class="pname"><code>simobj</code></strong> - Reference to the simulator object</li>
    </ul></dd>
    <dt>Returns:</dt>
        <dd>collection of simulator results (1-tuple containing a list)</dd>
    <dt>Overrides:
        <a href="simvoc.core.scheduler.Scheduler-class.html#schedule">scheduler.Scheduler.schedule</a>
    </dt>
  </dl>
</td></tr></table>
</div>
<a name="submit_job"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">submit_job</span>(<span class="sig-arg">self</span>,
        <span class="sig-arg">job</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="simvoc.core.condor_sim-pysrc.html#Condor.submit_job">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <p>Receives a job into the scheduling queue and ensures that the periodic
  scheduler is running.</p>
  <dl class="fields">
    <dt>Parameters:</dt>
    <dd><ul class="nomargin-top">
        <li><strong class="pname"><code>job</code></strong> - Job to be received</li>
    </ul></dd>
    <dt>Returns:</dt>
        <dd>results collection for simulator output</dd>
    <dt>Overrides:
        <a href="simvoc.core.scheduler.Scheduler-class.html#submit_job">scheduler.Scheduler.submit_job</a>
    </dt>
  </dl>
</td></tr></table>
</div>
<br />
<!-- ==================== NAVIGATION BAR ==================== -->
<table class="navbar" border="0" width="100%" cellpadding="0"
       bgcolor="#a0c0ff" cellspacing="0">
  <tr valign="middle">
  <!-- Home link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="simvoc-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Tree link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Index link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Help link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Project homepage -->
      <th class="navbar" align="right" width="100%">
        <table border="0" cellpadding="0" cellspacing="0">
          <tr><th class="navbar" align="center"
            >SimVOC</th>
          </tr></table></th>
  </tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
  <tr>
    <td align="left" class="footer">
    Generated by Epydoc 3.0 on Fri Oct 23 11:04:30 2009
    </td>
    <td align="right" class="footer">
      <a target="mainFrame" href="http://epydoc.sourceforge.net"
        >http://epydoc.sourceforge.net</a>
    </td>
  </tr>
</table>

<script type="text/javascript">
  <!--
  // Private objects are initially displayed (because if
  // javascript is turned off then we want them to be
  // visible); but by default, we want to hide them.  So hide
  // them unless we have a cookie that says to show them.
  checkCookie();
  // -->
</script>
</body>
</html>
